﻿ @model Promocot.Models.GenPromocion
@{
    ViewBag.Title = "Crear";

    List<SelectListItem> nuevo = new List<SelectListItem>();
    nuevo.Add(new SelectListItem() { Text = "D", Value = "Desde" });
    nuevo.Add(new SelectListItem() { Text = "T", Value = "Total" });
    nuevo.Add(new SelectListItem() { Text = "L", Value = "Llamar" });


    List<SelectListItem> r_tipo = new List<SelectListItem>();
    r_tipo.Add(new SelectListItem() { Text = "0", Value = "Exclusivo" });
    r_tipo.Add(new SelectListItem() { Text = "1", Value = "Publico" });

    List<SelectListItem> items = new List<SelectListItem>();
    
    items.Add(new SelectListItem
    {
        Text = "Foto",
        Value = "1"
    });
    
    items.Add(new SelectListItem
    {
        Text = "Header",
        Value = "2"
    });    
    
    items.Add(new SelectListItem
    {
        Text = "Video",
        Value = "3",
        Selected = true
    });
    
    items.Add(new SelectListItem
    {
        Text = "Archivo",
        Value = "4"
    });
    
    List<SelectListItem> ordenes = new List<SelectListItem>();

    if (ViewBag.promociones.Count != 0)
    {
        for (int s = 0; s < ViewBag.promociones.Count; s++)
        {
            ordenes.Add(new SelectListItem() { Text = (s + 1).ToString(), Value = (s + 1).ToString() });
        }
    }
    else
    {
        ordenes.Add(new SelectListItem() { Text = (1).ToString(), Value = (1).ToString() });
    }
}

<script src="@Url.Content("~/Scripts/jquery-ui.js")" type="text/javascript"></script>
<script type="text/javascript" src="@Url.Content("~/Content/tinymce/jscripts/tiny_mce/jquery.tinymce.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/tinymce/jscripts/tiny_mce/tiny_mce.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.uploadify.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.scrollTo.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.blockUI.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.cookie.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.treeview.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.treeview.edit.js")" type="text/javascript"></script>
             

               
<script type="text/javascript">


    $(function () {

    $("#dialogo").dialog({
        autoOpen:false,
        modal: true,
        width: 550
    });


    /*
    Cambio de . a ,
    */

    $("#costop_monto").change(function(){
        $(this).val($(this).val().replace('.',','));
    });


    var accion = "@ViewContext.Controller.ValueProvider.GetValue("action").RawValue";

        $('#file_upload').fileUpload({
            'uploader': '/Scripts/uploader.swf',
            'script': '../../Promocion/Cargar',
            'cancelImg': '/Images/cancel.png',
            'folder': '/Content/Recursos',
            'buttonText': 'Cargar recursos',
            'fileDesc': 'Image Files',
            'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
            'auto': false,
            'multi': true,
            'displayData': 'speed',
            'scriptData': { 'datos': 'basicos' },
            'onComplete': function (event, queueID, fileObj, response, data) {
                var jsfinal = jQuery.parseJSON(response);
                $("#mensaje").html(" ");
                $("#mensaje").text("");
                $("#mensaje").html("<h2>" + jsfinal.mensaje + "</h2>");
                $.scrollTo('#mensaje');
            }
        });


        $("#ejecutar").click(function () {
            bloquear();
            $("#file_upload").fileUploadSettings('scriptData', "&rec_promo=" + $("#rec_promo").val() + "&rec_tipo=" + $("#rec_tipo").val() + "&rec_nombre=" + $("#rec_nombre").val(), true);
            $("#file_upload").fileUploadStart();
            $(document).scrollTo('#mensaje', 800);
            $('#tabs').unblock();
            $.blockUI({
                message: $('#mensaje'),
                fadeIn: 700,
                fadeOut: 700,
                timeout: 4000,
                showOverlay: false,
                centerY: false,
                css: {
                    width: '350px',
                    top: '10px',
                    left: '',
                    right: '10px',
                    border: 'none',
                    padding: '5px',
                    backgroundColor: '#000',
                    '-webkit-border-radius': '10px',
                    '-moz-border-radius': '10px',
                    opacity: .6,
                    color: '#fff'
                }
            });
        });

        if(accion != "Editar"){
        $("#tabs").tabs({ disabled: [2, 3] });
        //Para definir el tipo de operacion que se hara en el servidor
            $('[name$="operation"]').val(0);
            $('[name$="operation1"]').val(0);
        $('#promo_valida_desde, #promo_valida_hasta').each(function(){
            $(this).val("");
        });
        }else{
            $("#tabs").tabs();
            $('[name$="operation"]').val(1);
            $('[name$="operation1"]').val(1);
            var dir = window.location.toString();
            $('#costop_cod_promocion').val(dir.substring(dir.length-1,dir.length));
            $("#rec_promo").val(dir.substring(dir.length-1,dir.length));
            $("#form0").attr('action','/Promocion/Actualizar');
            $("#form1").attr('action','/Promocion/dtjson'); 
        }

        $("#siguiente").click(function () {
            $('#tabs').tabs('option', 'selected', 1);
            if($("#tinymce").text()==""){
            $("#tinymce").text("<h2>"+$("#promo_titulo").val()+"</h2><h3>"+$("#promo_subtitulo").val()+"</h3>");
            }
            
        });


      

        $('#promo_valida_desde, #promo_valida_hasta').datepicker({
           dayNames: ['Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado'],
           dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
           dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
            monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
            dateFormat: "dd/mm/yy",
            changeMonth: true,
            changeYear: true,
            minDate: new Date(new Date().getFullYear().toString(), new Date().getMonth().toString() , new Date().getDate().toString())
        });

        $('#promo_valida_desde').change(function(){
            $("#promo_valida_hasta").datepicker("option","minDate",  $( "#promo_valida_desde" ).datepicker("getDate"));
        });

        $('#tinymce, .tnmce').tinymce({
            // General options
            theme: "advanced",
            width: "575px",
            height: "800px",
            plugins: "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
            // Theme options
            theme_advanced_buttons1: "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull",
            theme_advanced_buttons2: "styleselect,formatselect,fontselect,fontsizeselect",
            theme_advanced_buttons3: "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",
            theme_advanced_buttons4: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print",
            theme_advanced_buttons5: "insertdate,inserttime,preview,|,forecolor,backcolorinsertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,|,ltr,rtl,|,fullscreen",
            theme_advanced_toolbar_location: "top",
            theme_advanced_toolbar_align: "left",
            theme_advanced_statusbar_location: "bottom",
            theme_advanced_resizing: true
        });


        $('#promo_cod_clasificacion').change(function(){
            var num_clas= $("#promo_cod_clasificacion").val();
            // si es el registro en BD para la clasificacion 3,entonces le agrego un elemento
            if(num_clas ==4){//Esto habrá que hacerle modificaciones
            $("#rec_tipo option[value='3']").remove();   //elimino la opcion de fotos
            $("#rec_tipo option[value='4']").remove();   //elimino la opcion de video
            }
        })

    });


    function exito(data) {
    var muestra="#mensaje";
        if((data.status).toString()=="Exito"){
             $("#mensaje").html("<h1>"+data.mensaje+"</h1>");
        }
        else{
            $("#mensaje2").html("<h1>"+data.mensaje+"</h1>");
            muestra+="2";
        }
        var numero = data.id;
        if (numero != 0) {
            $("#costop_cod_promocion").val(numero);
            $("#rec_promo").val(numero);
            $("#tabs").tabs('enable', 2);
            $("#tabs").tabs('enable', 3);
        }
        $('#tabs').unblock();
        $.blockUI({
            message: $(muestra),
            fadeIn: 700,
            fadeOut: 700,
            timeout: 4000,
            showOverlay: false,
            centerY: false,
            css: {
                width: '350px',
                top: '10px',
                left: '',
                right: '10px',
                border: 'none',
                padding: '5px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                opacity: .6,
                color: '#fff'
            }
        }); 
    }

     function exito2(){
         $("#mensaje").html("<h2>El detalle de tarifa se ha agregado exitosamente</h2>");
         $.scrollTo('#mensaje', 800);
         $('#tabs').unblock();
         $.blockUI({
             message: $('#mensaje'),
             fadeIn: 700,
             fadeOut: 700,
             timeout: 4000,
             showOverlay: false,
             centerY: false,
             css: {
                 width: '350px',
                 top: '10px',
                 left: '',
                 right: '10px',
                 border: 'none',
                 padding: '5px',
                 backgroundColor: '#000',
                 '-webkit-border-radius': '10px',
                 '-moz-border-radius': '10px',
                 opacity: .6,
                 color: '#fff'
             }
         }); 
     }

     function bloquear() {
         $("#tabs").block({ message: '<h1> Cargando...</h1>' });
         $("#mensaje").text(" ");
     }

     function procesar_dt(id){        
            $.ajax({
            url: '/Promocion/Edit_dt/'+id,
            async:false,
            success: function(data){
                $("#dialogo").html(data);
                $("#dialogo").dialog("open");
            }
            });
            $("#dialogo").dialog("open");
            
            return false;
     }

     function exito_act_dt(data){
        $("#detalle_tarifa").html(data.mensaje);
        $("#dialogo").dialog("close");
     }

     function eliminar_dt(id){
     
     if(confirm('Seguro desea eliminar este detalle detalle de tarifa?')){
       $.ajax({
            url: '/Promocion/Delete_dt/'+id,
            async:false,
            success: function(data){
                $("#dt"+data.id).remove();
            }
            });
       }
     
     
     }

     function eliminar_rec(id){
     
     if(confirm('Seguro desea eliminar este recurso?')){
       $.ajax({
            url: '/Promocion/Delete_rec/'+id,
            async:false,
            success: function(data){
                $("#rec"+data.id).remove();
            }
            });
     }   
     }

     


</script>
<div id="crear_promocion">

 <div id="tabs">
    <ul>
        <li><a href="#fragment-1"><span>Aspectos generales</span></a></li>
        <li><a href="#fragment-2"><span>Descripción</span></a></li>
        <li><a href="#fragment-3"><span>Detalle Tarifa</span></a></li>
        <li><a href="#fragment-4"><span>Recursos</span></a></li>
    </ul>
 
    @using(Ajax.BeginForm("registrar", new AjaxOptions {UpdateTargetId = "mensaje", OnSuccess = "exito",  OnBegin = "bloquear" }))
    {
        @Html.ValidationSummary(true)
       <div id="fragment-1"> 
       <table style="margin: 0px auto;">
            <tr>
                <td><input type="button" id="siguiente" value="siguiente ->"/></td>
                <td>
                @if (ViewContext.Controller.ValueProvider.GetValue("action").RawValue.Equals("Editar"))
                {
                    @Html.HiddenFor(model => model.promo.cod_promocion)
                }
                </td>
            </tr>
            <tr>
                <td>
                    <div class="editor-label">
                       <label for="titulo">Título:</label>
                         </div>
                        <div class="editor-field">
                        @Html.EditorFor(model => model.promo.titulo)
                        @Html.ValidationMessageFor(model => model.promo.titulo)
                    </div>
                   
                </td>

                <td>
                    <div class="editor-label">
                        @Html.Label("Moneda")
                    </div>
                    <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.tarifa_consolidada_moneda, new SelectList(ViewBag.monedas, "cod_moneda", "abreviacion"))
                    </div>
                </td>
               
            </tr>

                        <tr>
                <td>
                    <div class="editor-label">
                       <label for="subtitulo">Subtítulo:</label>
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.promo.subtitulo)
                        @Html.ValidationMessageFor(model => model.promo.subtitulo)
                    </div>
                </td>
               
                <td>
                    <div class="editor-label">
                        @Html.Label("Tarifa consolidada")
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.promo.tarifa_consolidada, new { style = "width: 50px;" })
                    </div>
                </td>
                
            </tr>
             <tr>
                <td>
                    <div class="editor-label">
                        @Html.LabelFor(model => model.promo.orden)
                    </div>
                     <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.orden, new SelectList(ordenes, "Text", "Value"))
                        @Html.ValidationMessageFor(model => model.promo.orden)
                    </div>
                </td>
                <td>
                    <div class="editor-label">
                        @Html.Label("Tipo de Tarifa")
                    </div>
                     <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.tarifa_consolidada_tipo, new SelectList(nuevo, "Text", "Value"))
                    </div>
                </td>
                <td>
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="editor-label">
                        @Html.LabelFor(model => model.promo.tags)
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.promo.tags)
                        @Html.ValidationMessageFor(model => model.promo.tags)
                    </div>
                </td>
                <td>
                    <div class="editor-label">
                        @Html.LabelFor(model => model.promo.status)
                    </div>
                     <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.status, new SelectList(new[] { "Borrador", "Aprobado", "Revisar" }))
                        @Html.ValidationMessageFor(model => model.promo.status)
                    </div>
                </td>
            </tr>

                        <tr>
                <td>
                    <div class="editor-label">
                        @Html.Label("Valida desde:")
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.promo.valida_desde, new { id = "inia" })
                        @Html.ValidationMessageFor(model => model.promo.valida_desde)
                    </div>
                </td>
                <td>
                    <div class="editor-label">
                        @Html.Label("Valida hasta:")
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.promo.valida_hasta, new { id = "fina" })
                        @Html.ValidationMessageFor(model => model.promo.valida_hasta)
                    </div>
                </td>
            </tr>

              <tr>
                <td>
                    <div class="editor-label">
                        @Html.Label("Proveedor")
                    </div>
                    <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.cod_proveedor, new SelectList(ViewBag.proveedores, "cod_proveedor", "nombre"))
                        @Html.ValidationMessageFor(model => model.promo.cod_proveedor)
                    </div>
                </td>
                <td>
                    <div class="editor-label">
                        @Html.Label("Clasificacion")
                    </div>
                    <div class="editor-field">
                        @Html.DropDownListFor(model => model.promo.cod_clasificacion, new SelectList(ViewBag.clas, "cod_clasificacion", "nombre"))
                        @Html.ValidationMessageFor(model => model.promo.cod_proveedor)
                    </div>
                </td>
            </tr>
             <tr>
                <td>
                    <div class="editor-label">
                        @Html.Label("Destinos")
                    </div>
                    <div class="editor-field">
                        @Html.DropDownList("destino", new SelectList(ViewBag.destinos, "Id", "nombre_destino"))
                    </div>
                </td>
       
        <td>
                    <div class="editor-label">
                        @Html.Label("Temporadas")
                    </div>
                    <div class="editor-field">
                        @Html.DropDownList("temporada", new SelectList(ViewBag.temporadas, "Id", "nombre_temporada"))
                        @Html.ValidationMessageFor(model => model.promo.Destino.Id)
                    </div>
                </td>
            </tr>
            </table>

     </div>
    <div id="fragment-2">
                  <input type="submit" value="Cargar promocion" />
              <div class="editor-field">
                        @Html.TextAreaFor(model => model.promo.descripcion, new { id = "tinymce" })
                        @Html.ValidationMessageFor(model => model.promo.descripcion)
                    </div>
              </div>
    }
    <div id="fragment-3">
       @using (Ajax.BeginForm("dtjson", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "detalle_tarifa", OnSuccess = "exito2", OnBegin="bloquear" }))
       { 
               @Html.ValidationSummary(true)
<table>
<tr>
<td>Moneda:</td>
</tr>
<tr>
<td>@Html.DropDownListFor(model => model.costop.cod_moneda, new SelectList(ViewBag.monedas, "cod_moneda", "abreviacion"))</td>
</tr>

<tr>
<td>Costo:</td>
</tr>
<tr>
    <td>
        @Html.EditorFor(model => model.costop.monto)
    </td>
</tr>
<tr>
    <td>
        Descripcion:
    </td>
</tr>
<tr>
    <td>
        @Html.TextAreaFor(model => model.costop.descripcion)
        @Html.ValidationMessageFor(model => model.costop.descripcion)
    </td>
</tr>
<tr>
    <td>
        @Html.HiddenFor(model => model.costop.cod_promocion)
    </td>
</tr>
<tr>
    <td>
        <input type="submit" value="Agregar detalle tarifa"/>
    </td>
 </tr>  
</table>  
       }    
           <table id="detalle_tarifa">
           @if (Model.det_tarifas.Count > 0)
           {
               <tr><td>Moneda</td><td>Costo</td><td>Observacion</td></tr>
               
           
               foreach (var cp in Model.det_tarifas)
               {
                   var tr_info = "dt" + cp.Id;
                <tr id="@tr_info">
                <td>@cp.Moneda.abreviacion</td>
                <td>@cp.monto</td><td>@cp.descripcion</td>
                <td><a href="#" id="edit_dt" onclick="procesar_dt(@cp.Id)">Editar</a></td>
                <td><a href="#" id="eliminar_dt" onclick="eliminar_dt(@cp.Id)">Eliminar</a>
                </td>
                </tr> 
               }

           }
             </table>           
    </div>
    <div id="fragment-4">
        <table>
        <tr>
        <td>
        Nombre
        </td>
        <td>@Html.Editor("rec_nombre", new { id = "rec_nombre" })</td>
        </tr>
        
        <tr>
        <td>
        Recurso
        </td>
        
        <td>
             <input type="file" name="file_upload" id="file_upload"/>  
        </td>
        </tr>

        <tr>
        <td>Tipo:</td>
        <td>@Html.DropDownList("rec_tipo", items, new { id = "rec_tipo" })</td>
        </tr>
        
        <tr>
            <td>
                @Html.Hidden("rec_promo", new { id = "rec_promo" })
                <input type="button" id="ejecutar" "ui-state-default ui-corner-all" value="Subir archivos"/>
            </td>
        </tr>
        <tr>
        </tr>
        </table>

        <table>
        @if (Model.imagenes.Count > 0)
        { 
        
        <tr><td>Nombre de la imagen </td><td>Thumbnail</td></tr>
            
            foreach (var im in Model.imagenes)
            {

                if (im.tipo != 3)
                {
                    var rec_tag = "rec" + im.cod_recurso;
                    <tr id="@rec_tag"><td>@im.nombre</td><td><a  href="@im.direccion"> <img src="@im.direccion" alt="@im.nombre" width="100" height="100"/></a></td><td><a href="#" id="eliminar_rec" onclick="eliminar_rec(@im.cod_recurso)">Eliminar</a></td></tr>
            
                     }
 
                }   
        }
        </table>



        <div id="rec_mensaje">
        </div>
                
      
</div>
</div>
<div id="mensaje" style="display:none;">
</div>
<div id="mensaje2" style="display:none;">
</div>
</div>


<div id="dialogo">
Espere...
</div>